package com.iplant.ams.service.po.dms.scada.record;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.iplant.base.utils.general.CalendarTool;

import java.io.Serializable;
import java.util.*;

public class DMSProcessRecord implements Serializable {

    public int ID = 0;


    public int LineID = 0;
    public String LineName = "";

    public int DeviceID = 0;

    public String DeviceNo = "";

    public String DeviceName = "";

    /**
     * 固定资产编码  采集编码
     */
    public String AssetNo = "";

    public int OrderID = 0;
    public int ModelID = 0;


    public String OrderNo = "";


    public int ProductID = 0;

    /**
     * 工单ID
     */
    public int SFCOrderID = 0;
    /**
     * 产品编号
     */
    public String ProductNo = "";
    /**
     * 产品名称
     */
    public String ProductName = "";


    public String MetroNo = "";



    /**
     * 根据工件号关联
     */
    public String WorkpieceNo = "";


    public Calendar StartTime = CalendarTool.getBasicDate();

    public Calendar EndTime = CalendarTool.getBasicDate();

    /**
     * 0  是否当前记录
     */
    public int Active = 0;

    /**
     * 上传状态 0 未上传
     */
    public int UpdateStatus = 0;


    public int Status = 0;

    public String StatusText = "";

    public String Remark = "";

    /**
     * 记录类型   1 加工 2检验  3抽检  4返修
     */
    public int RecordType = 1;
    /**
     * 工艺参数表主键ID
     */
    public int TechnologyID = 0;

    /**
     * 节拍参数  key 变量名  value 值
     */
    public Map<String, Object> ProductParams = new HashMap<String, Object>();
    /**
     * 检测机参数  key 变量名  value 值
     */
    public Map<String, Object> CheckParams = new HashMap<String, Object>();
    /**
     * 工艺参数  key 变量名  value 值
     */
    public Map<String, Object> TechnologyParams = new HashMap<String, Object>();

    public List<DMSProcessRecordItem> ItemList = new ArrayList<DMSProcessRecordItem>();


    @JsonProperty("ID")
    public int getID() {
        return ID;
    }

    public void setID(int ID) {
        this.ID = ID;
    }

    @JsonProperty("LineID")
    public int getLineID() {
        return LineID;
    }

    public void setLineID(int lineID) {
        LineID = lineID;
    }

    @JsonProperty("LineName")
    public String getLineName() {
        return LineName;
    }

    public void setLineName(String lineName) {
        LineName = lineName;
    }

    @JsonProperty("DeviceID")
    public int getDeviceID() {
        return DeviceID;
    }

    public void setDeviceID(int deviceID) {
        DeviceID = deviceID;
    }

    @JsonProperty("DeviceNo")
    public String getDeviceNo() {
        return DeviceNo;
    }

    public void setDeviceNo(String deviceNo) {
        DeviceNo = deviceNo;
    }

    @JsonProperty("DeviceName")
    public String getDeviceName() {
        return DeviceName;
    }

    public void setDeviceName(String deviceName) {
        DeviceName = deviceName;
    }

    @JsonProperty("AssetNo")
    public String getAssetNo() {
        return AssetNo;
    }

    public void setAssetNo(String assetNo) {
        AssetNo = assetNo;
    }

    @JsonProperty("OrderID")
    public int getOrderID() {
        return OrderID;
    }

    public void setOrderID(int orderID) {
        OrderID = orderID;
    }

    @JsonProperty("ModelID")
    public int getModelID() {
        return ModelID;
    }

    public void setModelID(int modelID) {
        ModelID = modelID;
    }

    @JsonProperty("OrderNo")
    public String getOrderNo() {
        return OrderNo;
    }

    public void setOrderNo(String orderNo) {
        OrderNo = orderNo;
    }

    @JsonProperty("ProductID")
    public int getProductID() {
        return ProductID;
    }

    public void setProductID(int productID) {
        ProductID = productID;
    }

    @JsonProperty("ProductNo")
    public String getProductNo() {
        return ProductNo;
    }

    public void setProductNo(String productNo) {
        ProductNo = productNo;
    }

    @JsonProperty("ProductName")
    public String getProductName() {
        return ProductName;
    }

    public void setProductName(String productName) {
        ProductName = productName;
    }

    @JsonProperty("MetroNo")
    public String getMetroNo() {
        return MetroNo;
    }

    public void setMetroNo(String metroNo) {
        MetroNo = metroNo;
    }


    @JsonProperty("WorkpieceNo")
    public String getWorkpieceNo() {
        return WorkpieceNo;
    }

    public void setWorkpieceNo(String workpieceNo) {
        WorkpieceNo = workpieceNo;
    }

    @JsonProperty("StartTime")
    public Calendar getStartTime() {
        return StartTime;
    }

    public void setStartTime(Calendar startTime) {
        StartTime = startTime;
    }

    @JsonProperty("EndTime")
    public Calendar getEndTime() {
        return EndTime;
    }

    public void setEndTime(Calendar endTime) {
        EndTime = endTime;
    }

    @JsonProperty("Active")
    public int getActive() {
        return Active;
    }

    public void setActive(int active) {
        Active = active;
    }

    @JsonProperty("Status")
    public int getStatus() {
        return Status;
    }

    public void setStatus(int status) {
        Status = status;
    }

    @JsonProperty("StatusText")
    public String getStatusText() {
        return StatusText;
    }

    public void setStatusText(String statusText) {
        StatusText = statusText;
    }

    @JsonProperty("Remark")
    public String getRemark() {
        return Remark;
    }

    public void setRemark(String remark) {
        Remark = remark;
    }

    @JsonProperty("RecordType")
    public int getRecordType() {
        return RecordType;
    }

    public void setRecordType(int recordType) {
        RecordType = recordType;
    }

    @JsonProperty("TechnologyID")
    public int getTechnologyID() {
        return TechnologyID;
    }

    public void setTechnologyID(int technologyID) {
        TechnologyID = technologyID;
    }

    @JsonProperty("ProductParams")
    public Map<String, Object> getProductParams() {
        return ProductParams;
    }

    public void setProductParams(Map<String, Object> productParams) {
        ProductParams = productParams;
    }

    @JsonProperty("CheckParams")
    public Map<String, Object> getCheckParams() {
        return CheckParams;
    }

    public void setCheckParams(Map<String, Object> checkParams) {
        CheckParams = checkParams;
    }

    @JsonProperty("TechnologyParams")
    public Map<String, Object> getTechnologyParams() {
        return TechnologyParams;
    }

    public void setTechnologyParams(Map<String, Object> technologyParams) {
        TechnologyParams = technologyParams;
    }

    @JsonProperty("ItemList")
    public List<DMSProcessRecordItem> getItemList() {
        return ItemList;
    }

    public void setItemList(List<DMSProcessRecordItem> itemList) {
        ItemList = itemList;
    }
    @JsonProperty("SFCOrderID")
    public int getSFCOrderID() {
        return SFCOrderID;
    }

    public void setSFCOrderID(int SFCOrderID) {
        this.SFCOrderID = SFCOrderID;
    }

    @JsonProperty("UpdateStatus")
    public int getUpdateStatus() {
        return UpdateStatus;
    }

    public void setUpdateStatus(int updateStatus) {
        UpdateStatus = updateStatus;
    }
}

 
